package com.youlai.boot.core.tenant.model.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 全局用户实体
 * 存储在主数据源，用于记录用户和租户的映射关系
 *
 * @author haoxr
 * @since 3.0.0
 */
@Data
@TableName("global_sys_user")
public class GlobalUser {

    /**
     * 主键ID
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 微信 OpenID（唯一标识）
     */
    private String openId;

    /**
     * 微信 UnionID（可选）
     */
    private String unionId;

    /**
     * 手机号（唯一标识）
     */
    private String mobile;

    /**
     * 邮箱（唯一标识）
     */
    private String email;

    /**
     * 身份证号（唯一标识）
     */
    private String identityCard;

    /**
     * 所属租户ID
     */
    private Long tenantId;

    /**
     * 租户数据库中的用户ID
     */
    private Long userId;

    /**
     * 用户名
     */
    private String username;

    /**
     * 昵称
     */
    private String nickname;

    /**
     * 头像
     */
    private String avatar;

    /**
     * 状态：1-正常 0-禁用
     */
    private Integer status;

    /**
     * 是否主账号：1-是 0-否
     */
    private Integer isPrimary;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;

    /**
     * 逻辑删除：1-已删除 0-未删除
     */
    private Integer isDeleted;
}

